<cmds> : Execute ONLY Commands
<keys> : Execute ALL Macro Text

The <cmds> command changes the macro interpretation.   The part of the macro that follows <cmds> is interpreted so that only commands are executed and all the other text (keys) is ignored.  This allows to nicely format macro consisting only from commands.  

The <keys> causes that all the text (keys) - including new line as an "Enter" key - is interpreted.

Syntax: 

<cmds> 
<keys>

Example: 

<#> This macro shows how to use 'cmds'
<#>
<cmds> 

<label>("lbl_Again")
<msg>(100,100,"Starting Notepad ...","Message",0)
<execappex>("notepad.exe","","",0,0)
<waitfor>("WIN","OPEN","Notepad",15,0)
<msgoff>

<keys>Hello, 

this macro just demonstrates 'cmds/keys' commands.
<cmds> 

<varset>("vAgain=YES/NO","Do you want to run this macro again ?")
<if_str>("vAgain==YES")
   <goto>("lbl_Again")
<endif>